#pragma once
#include "IMemPatch.h"
#include <windows.h>
#include "common.h"

namespace TLib
{
	class SMemPatch : public IMemPatch
	{
	protected:
		LPVOID newMem;
		unsigned int cBytes;
		BYTE* origMem;
		unsigned int address;
	public:
		TRAINER_LIB_API SMemPatch(unsigned int address, LPVOID newMem, unsigned int cBytes);
		TRAINER_LIB_API virtual ~SMemPatch();
		
		TRAINER_LIB_API virtual void Patch(HANDLE hProcess);
		TRAINER_LIB_API virtual void UnPatch(HANDLE hProcess);

		TRAINER_LIB_API virtual void gameTurnedOff();
	};
}// Namespace TLib